#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int a[N], n, t = 1;
map < pair < int , int > , pair < int , int > > ma;
// xz, xh      l, sum
int main(){
	freopen("fruit.in", "r", stdin);
	freopen("fruit.out", "w", stdout);
	int f = 0;
	cin >> n;
	for(int i = 1; i <= n; i ++)
		cin >> a[i];
	if(a[1] == 1) f = 1;
	ma[{a[1], 1}] = {1, 1};
	int l = 1, sum = 1;
	for(int i = 2; i <= n; i ++){
		if(a[i] == a[i - 1]) ma[{a[i], t}] = {l, ++ sum};
		else {
			ma[{a[i], ++ t}] = {i, 1};
			l = i;
			sum = 1;
		}
	}
//	while(t){
		for(int i = 1; i <= t; i ++){
			pair < int , int > pf = ma[{f, t}];
			cout << pf.second << ' ';
		}
//		    
//	}
	return 0;
}

